<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>AGREGAR ESTUDIANTE</title>
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/css/default.css" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/themes/#{preferencias.tema}/skin.css" />
	<link type="text/css" rel="stylesheet"
		href="#{request.contextPath}/syntaxhighlighter/styles/syntaxhighlighter.css" />
</h:head>
	<body bgcolor="black">
		<div align="center">
			<h:panelGrid columns="1">
				<h:form id="estudiante">
					<div align = "center">
						<br /><br />
						<h1><h:outputText value="AGREGAR ESTUDIANTE" style="color: red" /></h1>
					</div>
					<p:panel id="panel" header="Nuevo Programa" style="margin-bottom:10px;">
						<p:messages /> 
						<br />
						<h:outputText value="Ingrese los datos del estudiante a crear" style="color: black" />
						<br /><br />
						<div align = "center">
							<h:panelGrid columns="3">
								<h:outputText value="Cedula:" style="color: black" partialSubmit="true"/> 
								<h:inputText id="cedula" value="#{estudianteBean.estudiante.cedula}" required="true" requiredMessage = "Ingrese la cedula" rendered="#{estudianteBean.accion == 'registrar'}" >
									<f:validateLongRange minimum="1"/> 
								</h:inputText>
								<h:inputText id="cedulaLeer" value="#{estudianteBean.estudiante.cedula}" required="true" readonly="true" rendered="#{estudianteBean.accion != 'registrar'}" >
									<f:validateLongRange minimum="1"/> 
								</h:inputText>
								<p:message for="cedula" />
								
								<h:outputText value="Nombre:" style="color: black"/> 
								<h:inputText id="nombreyApellido" value="#{estudianteBean.estudiante.nombreyApellido}" required="true" requiredMessage = "Ingrese el nombre completo"> 
									<f:validateLength minimum="2" maximum="50" /> 
								</h:inputText>
								<p:message for="nombreyApellido" />
								
								<h:outputText value="Contrasenia:" style="color: black"/>
								<h:inputSecret id="contrasenia" value="#{estudianteBean.estudiante.contrasenia}" required="true" requiredMessage = "Ingrese la contrasenia" >
								</h:inputSecret>
								<p:message for="contrasenia" />
								
								<h:outputText value="Edad:" style="color: black"/>
								<h:inputText id="edad" value="#{estudianteBean.estudiante.edad}" required="true" partialSubmit="true" requiredMessage = "Ingrese la edad">
									<f:validateDoubleRange minimum="15" maximum="80" />
									<f:converter converterId="javax.faces.Integer"/>
								</h:inputText>
								<p:message for="edad" />
								
								<h:outputText value="Telefono:" style="color: black" />
								<h:inputText id="telefono" value="#{estudianteBean.estudiante.telefono}" required="true" requiredMessage = "Ingrese el telefono">
								</h:inputText>
								<p:message for="telefono" />
								
								<h:outputText value="Correo:" style="color: black"/>
								<h:inputText id="correo" value="#{estudianteBean.estudiante.correo}" required="true" requiredMessage = "Ingrese el correo">
								</h:inputText>
								<p:message for="correo" />
								
								<h:outputText value="Semestre actual:" style="color: black"/>
								<h:inputText id="semestreActual" value="#{estudianteBean.estudiante.semestreActual}" required="true" partialSubmit="true" requiredMessage = "Ingrese el semestre (1-10)">
									<f:validateDoubleRange minimum="1" maximum="10" />
									<f:converter converterId="javax.faces.Integer"/>
								</h:inputText>
								<p:message for="semestreActual" />
								
							</h:panelGrid>
							
							<h:panelGrid columns="2">
								<h:outputText value="Genero:" style="color: black"/>
								<h:selectOneMenu value ="#{estudianteBean.estudiante.genero}">
									<f:selectItem itemValue="Masculino" />
									<f:selectItem itemValue="Femenino" />
								</h:selectOneMenu>
								<h:outputText value="Programas:" style="color: black"/>
								<h:selectOneMenu value="#{estudianteBean.programa}" >
									<f:selectItems value="#{programaBean.nombreProgramas}" />
								</h:selectOneMenu>
							</h:panelGrid>
							<br />
							<p:commandButton value="Adicionar" update="estudiante fdatos"
								actionListener="#{estudianteBean.adicionarEstudiante}" style="margin-right:20px;" rendered="#{estudianteBean.accion == 'registrar'}"/>
							<p:commandButton value="Actualizar" update="estudiante fdatos"
								actionListener="#{estudianteBean.actualizarEstudianteDeBD}" style="margin-right:20px;" rendered="#{estudianteBean.accion != 'registrar'}"/>
							<p:commandButton value="Cancelar" update="estudiante fdatos"
								actionListener="#{estudianteBean.cancelar}" style="margin-right:20px;" rendered="#{estudianteBean.accion != 'registrar'}"/>
						</div>
					</p:panel>
				</h:form>
			</h:panelGrid>
		</div>
			
		<div align = "center">
			<br />
			<h1><h:outputText value="ESTUDIANTES EXISTENTES EN LA BASE DE DATOS" style="color: red" /></h1>
			<br /><br />
		</div>
		<div align="center">
			<h:panelGrid columns="1">
				<h:form id="fdatos" prependId="false">
					<p:dataTable  id="tabla" value="#{estudianteBean.estudiantes}" var="estudiante" border="1" paginator="true" rows="5" emptyMessage="No hay programas registrados">
						<p:column  filterBy="#{estudiante.cedula}" filterMatchMode="startsWith" footerTex="comienza por" >
							<f:facet name="header"><h:outputText value="Cedula" /></f:facet> 
							<h:outputText value="#{estudiante.cedula}" style="color: black" /> 
						</p:column>
						<p:column  filterBy="#{estudiante.nombreyApellido}" filterMatchMode="startsWith" footerTex="comienza por" >
							<f:facet name="header"><h:outputText value="Nombre" /></f:facet> 
							<h:outputText value="#{estudiante.nombreyApellido}" style="color: black" /> 
						</p:column>
						<p:column  filterBy="#{estudiante.edad}" filterMatchMode="startsWith" footerTex="comienza por" >
							<f:facet name="header"><h:outputText value="Edad" /></f:facet> 
							<h:outputText value="#{estudiante.edad}" style="color: black" /> 
						</p:column>
						<p:column  filterBy="#{estudiante.genero}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Genero" /></f:facet> 
							<h:outputText value="#{estudiante.genero}" style="color: black" /> 
						</p:column>
						<p:column  filterBy="#{estudiante.semestreActual}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Semestre Actual" /></f:facet> 
							<h:outputText value="#{estudiante.semestreActual}" style="color: black" /> 
						</p:column> 
						<p:column  filterBy="#{estudiante.correo}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Correo" /></f:facet> 
							<h:outputText value="#{estudiante.correo}" style="color: black" /> 
						</p:column>
						<p:column  filterBy="#{estudiante.programa.nombre}" filterMatchMode="startsWith" footerTex="comienza por">
							<f:facet name="header"><h:outputText value="Pograma" /></f:facet> 
							<h:outputText value="#{estudiante.programa.nombre}" style="color: black" /> 
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Eliminar" /></f:facet> 
							<p:commandButton update="display" oncomplete="dialogoEliminar.show()" image="ui-icon ui-icon-trash">
								<f:setPropertyActionListener value="#{estudiante}" target="#{estudianteBean.estudiante}" />
							</p:commandButton>
						</p:column>
						<p:column>
							<f:facet name="header"><h:outputText value="Actualizar" /></f:facet> 
							<p:commandButton update="estudiante" image="ui-icon ui-icon-refresh">
								<f:setPropertyActionListener value="actualizar"	target="#{estudianteBean.accion}" />
								<f:setPropertyActionListener value="#{estudiante}"	target="#{estudianteBean.estudiante}" />
							</p:commandButton>
						</p:column>
					</p:dataTable>
					
					<div align="center">
						<p:panel id="panelExportacion" header="Exportacion" style="margin-bottom:10px;">
							<div align="center">
								<h:panelGrid columns="5">
									<h:outputText value="Exportar datos de la tabla:" style="color: black" />
									<h:commandLink>
										<p:graphicImage value="/images/pdf.png" />
										<p:dataExporter type="pdf" target="tabla" fileName="estudiantes" />
									</h:commandLink>
									<h:commandLink>
										<p:graphicImage value="/images/excel.png" />
										<p:dataExporter type="xls" target="tabla" fileName="estudiantes" />
									</h:commandLink>
									 <h:commandLink>  
							            <p:graphicImage value="/images/csv.png" />  
							            <p:dataExporter type="csv" target="tabla" fileName="estudiantes" />  
							        </h:commandLink>  
							        <h:commandLink>  
							            <p:graphicImage value="/images/xml.png" />  
							            <p:dataExporter type="xml" target="tabla" fileName="estudiantes" />  
							        </h:commandLink> 
								</h:panelGrid>
							</div>
						</p:panel>
					</div>
					
					<p:dialog header="estudiante" widgetVar="dialogoEliminar"	resizable="false" width="350" showEffect="explode"
						hideEffect="explode" modal="true">
						<h:panelGrid id="display" columns="2" cellpadding="4">
							<h:outputText value="Nombre:" />
							<h:outputText value="#{estudianteBean.estudiante.cedula}" />
							<h:outputText value="Nombre y apellido:" />
							<h:outputText value="#{estudianteBean.estudiante.nombreyApellido}" />
							<h:outputText value="Edad:" />
							<h:outputText value="#{estudianteBean.estudiante.edad}" />
							<h:outputText value="Telefono:" />
							<h:outputText value="#{estudianteBean.estudiante.telefono}" />
							<h:outputText value="Correo:" />
							<h:outputText value="#{estudianteBean.estudiante.correo}" />
							<h:outputText value="Genero:" />
							<h:outputText value="#{estudianteBean.estudiante.genero}" />
							<h:outputText value="Semestre actual:" />
							<h:outputText value="#{estudianteBean.estudiante.semestreActual}" />
							<h:outputText value="Programa al que pertenece:" />
							<h:outputText value="#{estudianteBean.estudiante.programa.nombre}" />
							<p:commandButton update="fdatos estudiante" actionListener="#{estudianteBean.eliminarEstudianteDeBD}"
								image="ui-icon ui-icon-trash" oncomplete="dialogoEliminar.hide()" value="Eliminar">
								<f:setPropertyActionListener value="#{estudiante}" target="#{estudianteBean.estudiante}" />
							</p:commandButton>
							<p:commandButton oncomplete="dialogoEliminar.hide()" image="ui-icon ui-icon-cancel" value="Cancelar">
							</p:commandButton>
						</h:panelGrid>
					</p:dialog>
				</h:form>
			</h:panelGrid>
		</div>
		<h:form>
		<br/><br/>
			<div align="center">
				<h:commandButton value="Volver a menu principal" action="/Paginas/paginasIniciales/paginaInicioAdministrativo.xhtml" style="margin-right:40px;" />
			</div>
		<br/><br/>
		</h:form>
	</body>
</html>